PacVim介绍
PacVim这款游戏其实是受PacMan(中文名:吃豆人)游戏启发而开发出来的。二者很相似,游戏任务都是躲避怪物,吃完豆豆。所不同的是,PacVim全程使用vim指令来操作,游戏的目的也是通过这种方式来提高Vim水平。
PacVim安装
安装Ncurses库
在centos7下安装如下:
1 | yum install ncurses-devel |
升级GCC版本
注意:linux下要请注意,编译PacVim需要gcc 8.x或更高版本,如果版本太低,可能无法正确编译和安装。
我用Centos 7 编译安装(gcc version 4.8.5 20150623 (Red Hat 4.8.5-16))。
以下是升级GCC版本步骤:
安装scl源
1 | yum install centos-release-scl scl-utils-build |
列出scl可用源
1 | yum list all --enablerepo='centos-sclo-rh' |
1 | yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-" |
安装8版本的gcc、gcc-c++、gdb工具链(toolchian)
1 | yum install -y devtoolset-8-toolchain |
1 | scl enable devtoolset-8 bash |
1 | gcc --version |
安装PacVim游戏
这款游戏源码托管在GitHub上,只需下载后编译安装即可。
1 | git clone https://github.com/jmoon018/PacVim.git |
启动游戏
安装成功后,执行如下命令启动游戏
1 | pacvim [LEVEL_NUMER] [MODE] |
其中:
LEVEL_NUMER:表示关卡号
MODE:表示难度,n - 一般模式, h - 困难模式
游戏总共10关,0~9数字表示。例如,选择第5关一般模式,可以这样启动游戏:
pacvim 5 n
游戏规则
PacVim 的使用与 PacMan 非常相似。
你必须跑过屏幕上所有的字符,同时避免鬼魂(红色字符)。
PacVim有两个特殊的障碍:
你不能移动到墙壁中(黄色)。你必须使用 vim 动作来跳过它们。
如果你踩到波浪字符(青色的 ~),你就输了!
你有三条生命。每次打赢 0、3、6、9 关时你都会获得新生命。总共有 10 关,从 0 到 9,打赢第 9 关后,游戏重置为第 0 关,但是鬼魂速度变快。
获胜条件
使用 vim 命令将光标移动到字母上并高亮显示它们。所有字母都高亮显示后,你就会获胜并进入下一关。
失败条件
如果你碰到鬼魂(用红色 G 表示)或者波浪字符,你就会失去一条命。如果命小于 0 条,你将会输掉整个游戏。
命令列表:
key | what it does |
---|---|
q | quit the game |
h | move left |
j | move down |
k | move up |
l | move right |
w | move forward to next word beginning |
W | move forward to next WORD beginning |
e | move forward to next word ending |
E | move forward to next WORD ending |
b | move backward to next word beginning |
B | move backward to next WORD beginning |
$ | move to the end of the line |
0 | move to the beginning of the line |
gg/1G | move to the beginning of the first line |
numberG | move to the beginning of the line given by number |
G | move to the beginning of the last line |
^ | move to the first word at the current line |
& | 1337 cheatz (beat current level) |
参考资料
更新升级GCC版本:
https://my.oschina.net/michaelshu/blog/3024970
一辈子很短,努力的做好两件事就好:
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱。